package main

import "fmt"

func main() {
	// 声明切片
	// var a []string // 声明一个字符串切片, a==nil,无法直接使用
	// var f = make([]string, 4)
	// var b = []int{}           // 声明一个整型切片并初始化，b != nil
	var c = []int{1, 2, 3, 4} // 声明一个整型切片并初始化,并赋值

	// 添加元素
	c = append(c, 5)
	fmt.Println(c) // [1 2 3 4 5]

	// 切片操作
	// slice[low:high] low: 起始索引（包含该元素） high: 结束索引（不包含该元素）
	d := c[1:3]                                 // 修正：声明并初始化变量d
	fmt.Println(d)                              // [2 3]
	fmt.Printf("长度:%d 容量:%d\n", len(d), cap(d)) // 修正：使用Printf并补全括号，容量应为4
}
